package com.diamond.webservice.service.impl;

import com.diamond.webservice.entity.JsEcAsyn;
import com.diamond.webservice.entity.JsEcInfo;
import com.diamond.webservice.mapper.JsEcAsynMapper;
import com.diamond.webservice.mapper.JsEcInfoMapper;
import com.diamond.webservice.service.JsEcAsynService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.Date;
import java.util.List;
import java.util.UUID;

@Service
public class JsEcAsynServiceImpl implements JsEcAsynService {
    @Autowired
    private JsEcAsynMapper jsEcAsynMapper;

    @Autowired
    private JsEcInfoMapper jsEcInfoMapper;

    @Override
    public void insert(JsEcAsyn jsEcAsyn) {
        jsEcAsyn.setId(UUID.randomUUID().toString());
        jsEcAsyn.setTransmitDate(new Date());
        jsEcAsynMapper.insert(jsEcAsyn);
    }

    @Override
    @Transactional
    public void saveTransmitResult(JsEcInfo jsEcInfo, JsEcAsyn jsEcAsyn) {
        jsEcAsyn.setId(UUID.randomUUID().toString());
        jsEcAsyn.setTransmitDate(new Date());
        jsEcAsynMapper.insert(jsEcAsyn);
        jsEcInfoMapper.updateTransmit(jsEcInfo);
    }

    @Override
    public List<JsEcAsyn> queryList(JsEcAsyn jsEcAsyn) {
        List<JsEcAsyn> jsEcAsyns = jsEcAsynMapper.queryList(jsEcAsyn);
        return jsEcAsyns;
    }
}
